﻿#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//#include <string.h>
#include <assert.h>

//strcat 的使⽤和模拟实现
//• 源字符串必须以 '\0' 结束。
//• ⽬标字符串中也得有 \0 ，否则没办法知道追加从哪⾥开始。
//• ⽬标空间必须有⾜够的⼤，能容纳下源字符串的内容。
//• ⽬标空间必须可修改。

char* My_Strcat(char* dest, const char* source)
{
	assert(dest && source);
	char* ret = dest;
	
	//把要被追加的字符串下标移到'\0'
	while (*dest)
	{
		dest++;
	}
	while (*dest++ = *source++)
	{
		;
	}
	return ret;
}
int main()
{
	char str1[] = "I Love You";
	char str2[1000] = "But ";
	//printf("%s", strcat(str2, str1));
	My_Strcat(str2, str1);
	printf("%s", str2);

	return 0;
}